// 
import Layout from '@/layout'
// 动态路由
// 导出
export const asyncRoutes = [
/*  我们人资项目的核心业务模块有以下四个

  - 组织架构 （公司的人员架构）
  - 角色管理  （角色管理）
  - 员工管理  （给员工分配角色）
  - 权限点管理 （配置各种权限点） */
  // 组织架构
  // 组织架构
  {
    path: '/department',
    component: Layout,
    children: [{
      path: '',
      name: 'departments',
      component: () => import('@/views/Department/index'),
      meta: { title: '组织架构', icon: 'tree' }
    }]
  },
  
  // {
  //   path: '/department',
  //   name: 'department',
  //   component: () => import('@/views/Department/index'),
  //   meta: {title: '组织架构', icon: 'tree'}
  // },
  // 角色管理
  {
    path: '/setting',
    component: Layout,
    children: [{
      path: '', 
      name: 'settings',
      component: () => import('@/views/Setting/index'),
      meta: { title: '角色管理', icon: 'setting' }
    }]
  },
  // 员工管理
  {
    path: '/employee',
    component: Layout,
    children: [{
      path: '',
      name: 'employees',
      component: () => import('@/views/Employee/index'),
      meta: { title: '员工管理', icon: 'people' }
    }]
  },

  // 权限点
  {
    path: '/permission',
    component: Layout,
    children: [{
      path: '',
      name: 'permissions',
      component: () => import('@/views/Permission/index'),
      meta: { title: '权限点管理', icon: 'lock' }
    }]
  },
  // 工资管理
  {
    path: '/salarys',
    component: Layout,
    hidden: false,
    children: [{
      path: '', // 如果children path置空的话 当前这个路由会作为一级渲染的默认路由
      name: 'salarys',
      component: () => import('@/views/Salary'),
      meta: { title: '工资管理', icon: 'money' }
    }]
  }
]



/* 
###  理解Layout路由的意义

> 观察路由发现，每个路由都有一个Layout，然后有一个children属性，我们的业务路由是二级路由，为什么都要走一个Layout呢？

1. Layout其实是为每一个路由提供一个公共的壳子
2. 点击左侧菜单的时候 虽然左侧菜单按道理都是二级路由，但是都会先走一遍一级的layout，然后再尝试渲染二级  **[算是一个hack技巧，不是常规写法]**
3. 当二级路由的path为空的时候，当前的二级路由将作为默认的二级路由显示到二级路由的出口处，路径和一级保持一致，看起来像是一级，但是实际上渲染出来的是二级

每个都有 component: Layout 的目的
1.layout 其实是为每个路由提供一个公共的壳子
2.点击左侧菜单时 虽然左侧菜单时二级路由 但是都会走一遍一级的layout,
然后在尝试渲染二级
3.当二级路由的path为空的时候，当前的二级路由将作为默认的二级路由显示到二级路由的出口处，路径和一级保持一致，看起来像是一级，但是实际上渲染出来的是二级
*/